<?php
namespace App\Http\Controllers\Resume;
use App\Http\Controllers\Controller;
use App\Http\Controllers\BaseApiController;

use App\Services\Resume\ResumeService;
use Illuminate\Http\Request;
use Validator;

/*
 *  控制器调用 service
 *  简历
 */
class ResumeController extends BaseApiController {
    private $service;


    public function __construct(ResumeService $service)
    {
        //继承基类的构造方法
        parent::__construct();
        //依赖注入service
        $this->service=$service;
    }
    /*
     *  简历列表
     */
    public function lookResume(Request $request){
        // 验证id
        $rule = $this->rules($request->all());
        if( $rule->fails() ){
            return 0;
        }
        // 调用 service 层
        $res = ResumeService::lists($request->id);
        return $res;
    }

    /*
     *  新建简历页面
     *  展示一些用户基本信息
     */
    public function addResume(Request $request){
        // 进行验证 用户id
        $rule = $this->rules($request->all());
        if( $rule->fails() ){
            return 0;
        }
        // 首先获取用户id 生成一条新的数据  状态为不可用
        $resume_id = ResumeService::add($request->id);
        // 获取一些用户基本信息
        $res = ResumeService::users($request->id,$resume_id);
        return $res;
    }

    /*
     *  新建简历  进行一些用户信息的添加（获取最新id进行修改）
     *  并状态改为 可用
     */
    public function updainfor(Request $request){
        // 接受新数据  可以为空 不验证
        $arr = $request->post();
        $res = ResumeService::updainfor($arr);
        return $res;
    }

    /*
     *  基本信息的修改
     */
    public function update(Request $request){
        // 接受新数据  可以为空 不验证
        $arr = $request->post();
        $res = ResumeService::upda($arr);
        return $res;
    }

    /*
     * 新建简历  进行求职意向的添加（获取最新id进行修改）
     */
    public function updafind(Request $request){
        // 接受新数据  可以为空 不验证
        $arr = $request->post();
        $res = ResumeService::upda($arr);
        return $res;
    }

    /*
     * 新建简历  进行实习/工作经历的添加（获取最新id进行修改）
     */
    public function updawork(Request $request){
        // 接受新数据  可以为空 不验证
        $arr = $request->post();
        $res = ResumeService::upda($arr);
        return $res;
    }

    /*
     *  查询行业
     */
    public function industry(){
        $res = ResumeService::selindustry();
        return $res;
    }

    /*
     *  编写验证规则
     */
    public function rules($data){
        //  id 不为空
        $rule = Validator::make($data,[
            'id' => 'required',
        ]);
        return $rule;
    }

    /**
     * 简历中心,关联usera表，管理industry表
     */
    public function resumeList(Request $request){
        $data['id']=$request->input('company_id');
        $rule=$this->idFind($data);
        if($rule->fails()){
            //不符合返回验证码
            return $rule->errors();
        }
        $res=$this->service->resumeList($data['id']);
        return $res;
    }
    /**
     * 简历搜索
     */
    public function poSearch(Request $request){
        //职位
        $offname=$request->input('off_name');
        //学校
        $school=$request->input('study');
        //学历
        $study=$request->input('education');
        //专业
        $major=$request->input('major');

        if(empty($offname)&&empty($school)&&empty($study)&&empty($major)){
            return $this->resumeList();
        }
        $res=$this->service->searchOffname($offname,$school,$study,$major);
        return $res;
    }

    public function aaa(){
        return view('aaa');
    }
}